import matplotlib.pyplot as plt
import numpy as np
# 创建2行2列的子图布局
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
# ====== 1. 折线图 ======
x = np.linspace(0, 10, 100)
y = np.sin(x)
axes[0, 0].plot(x, y, linewidth=2)
axes[0, 0].set_title('折线图')
axes[0, 0].grid(True)
# ====== 2. 柱状图 ======
categories = ['A', 'B', 'C', 'D']
values = [20, 35, 30, 25]
axes[0, 1].bar(categories, values, color='steelblue')
axes[0, 1].set_title('柱状图')
# ====== 3. 散点图 ======
x = np.random.randn(100)
y = np.random.randn(100)
axes[1, 0].scatter(x, y, alpha=0.6)
axes[1, 0].set_title('散点图')
axes[1, 0].set_xlabel('X')
axes[1, 0].set_ylabel('Y')
# ====== 4. 饼图 ======
sizes = [30, 20, 25, 25]
labels = ['股票', '债券', '现金', '其他']
axes[1, 1].pie(sizes, labels=labels, autopct='%1.1f%%')
axes[1, 1].set_title('投资组合分布')
plt.tight_layout()
plt.show()